<?php
/*
    OpenLib
    Copyright (C) 2011  Michael Gukov, Pham Thi Thuy Duong

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/


namespace Sun\Html;

class Text extends Component {
    public $value;
    public function __construct($text = null) {
        parent::__construct();
        $this->value = $text;
    }

    public function HtmlContent() {
        return $this->value;
    }
    public function JSONContent() {
        $cont = str_replace('"', '\\"', $this->value);
        $cont = str_replace("\n", "\\n ", $cont);
        return "{ text: \"{$cont}\" }";
    }
    public function ToHtml() {
        return $this->value;
    }
    public function ToJSON() {
        return $this->JSONContent();
    }

    public function Copy() {
        return new Text($this->value);
    }

    public static function Fabricate(array $arr) {
        $text = array();
        foreach ($arr as $i => $val) {
            if (is_array($val)) $text[$i] = self::Fabricate ($val);
            else $text[$i] = new Text($val);
        }
        return $text;
    }
}